// 线性方程组 高斯消元法
// 测试链接 ：https://www.luogu.com.cn/problem/P3389
// 相关帖子 ：https://www.cnblogs.com/dx123/p/16756468.html
// 相关帖子 ：https://oi-wiki.org/math/linear-algebra/matrix/
// 提交以下的code，可以直接通过

#include <bits/stdc++.h>

using namespace std;

const int MAXN = 110;
const double EPS = 1e-6;
int n;
double a[MAXN][MAXN]; // 增广矩阵

// 高斯消元法解线性方程组
int gauss()
{
    for(int i = 1; i <= n; ++i) // 第 i 主元
    {
        for(int k = i; k <= n; ++k) // 找到非 0 行，然后进行交换
        {
            if(fabs(a[k][i]) > EPS)
            {
                swap(a[k], a[i]); // 换行
                break;
            }
        }
        if(fabs(a[i][i]) < EPS) return 0;

        for(int j = n + 1; j >= i; --j)
        {
            a[i][j] /= a[i][i]; // 将 a[i][i] 变成 1
        }
        // 将第 i 列的元素变成 0
        for(int k = i + 1; k <= n; ++k)
        {
            for(int j = n + 1; j >= i; --j)
            {
                a[k][j] -= a[k][i] * a[i][j];
            }
        }
    }

    // 回代求解 x1, x2 ... xn
    for(int i = n - 1; i >= 1; --i)
    {
        for(int j = i + 1; j <= n; ++j)
        {
            a[i][n + 1] -= a[i][j] * a[j][n + 1];
        }
    }
    return 1; // 存在唯一解
}

// 高斯约旦消元法解线性方程组
int gaussJordan()
{
    for(int i = 1; i <= n; ++i) // 第 i 主元
    {
        for(int k = i; k <= n; ++k) // 换非 0 行
        {
            if(fabs(a[k][i]) > EPS)
            {
                swap(a[k], a[i]);
                break;
            }
        }
        if(fabs(a[i][i]) < EPS) return 0; // 无解或无穷多解

        for(int k = 1; k <= n; ++k) // 对角化
        {
            if(k == i) continue;
            // 主元所在行不变，主元所在列消成 0
            for(int j = n + 1; j >= i; --j)
            {
                a[k][j] -= a[k][i] / a[i][i] * a[i][j];
            }
        }
    }

    // 除以主元
    for(int i = 1; i <= n; ++i) a[i][n + 1] /= a[i][i];
    return 1; // 存在唯一解
}

int main()
{
    scanf("%d", &n);
    for(int i = 1; i <= n; ++i)
    {
        for(int j = 1; j <= n + 1; ++j)
        {
            scanf("%lf", &a[i][j]);
        }
    }
    if(gaussJordan())
        for(int i = 1; i <= n; ++i) printf("%.2lf\n", a[i][n + 1]);
    else
        puts("No Solution");

    return 0;
}